package com.dt.common.validation;

import java.util.Set;

/**
 * 验证bean对象或者bean对象中Field有效性。支持class注解形式标注规则，也支持json文件标注规则。json文件规则优先级高于注解规则，
 * 可覆盖注解中标注规则。此对象为线程安全的。
 * 
 * @author wangfeng
 *
 */
public interface Validator {

	/**
	 * 检查对象中虽有Field
	 * 
	 * @param object
	 * @return
	 */
	Set<Violation> validate(Object object);

	/**
	 * 检查对象中单个Field
	 * 
	 * @param object
	 * @param propertyName
	 * @return
	 */
	Set<Violation> validate(Object object, String propertyName);

}
